Date: Wed, 20 Nov 1996 21:44:56 GMT
Server: NCSA/1.4.2
Content-type: text/html
Last-modified: Wed, 20 Mar 1996 17:40:31 GMT
Content-length: 6773

<HTML>
<HEAD>
    <TITLE>CS 456 - Interactive Software</TITLE>
</HEAD>
<BODY>
<H4><KBD>http://issl.cs.byu.edu/docs/CS456/Syllabus96.html</KBD></H4>
<H1>CS 456 - Interactive Software</H1>
<H2>Introduction</H2>
This course will give a student introduction to implementation issues for
graphical user interfaces. Students will write programs in Visual C++ under
MS Windows. In addition, the basic principles of user interface design and
2D computer graphicsl will be covered. 
<H2>Course Structure</H2>
<UL>
<LI>Instructor: <!WA0><A HREF="http://issl.cs.byu.edu/docs/home.html">Dan R. Olsen
Jr. </A>
<LI>Office: 3360 TMCB 
<LI>Phone: 378-2225 
<LI>Class time: 3:35-4:50 MW - 120 TMCB 
<LI>Office hours: upon request 
<LI>email: <B>olsen@cs.byu.edu<BR>
</B><BR>
<LI>TA: <!WA1><A HREF="http://genie.cs.byu.edu/~stoutjas/stoutjas.html">Jason
Stout</A> 
</UL>
<H3>Ways to get help:</H3>
Please try them in this order 
<UL>
<LI>Check the <!WA2><A HREF="news:byu.class.cs456">news group</A> and post your
question there 
<LI>Email to the <!WA3><A HREF="mailto:stoutjas@genie.cs.byu.edu">TA</A> or <!WA4><A HREF="mailto:olsen@cs.byu.edu">instructor
</A>
<LI>Call instructor for an appointment (378-2225) 
</UL>
<H3>Text:</H3>
<UL>
<LI>Packet of information that will be delivered over the course of the
semester. This is a text that is being developed for this course. It will
be available as several packets sold through the bookstore. The first packet
should be available before Wednesday, Jan 10.<BR>
<BR>
This material will be the primary text for the course.<BR>
<BR>
<LI><I>VisualC++ 2</I> - <I>Developing Professional Applications in Windows
and NT using MFC</I> , Marshal Brain and Lance Lovette. 
</UL>
<H2>Computers:</H2>
PC's in the open labs running windows. To access these computers you will
need CS department student account. If you are a CS major, you can get an
account by going <!WA5><A HREF="http://issl.cs.byu.edu/sac/AccountCreation.html">here</A>. If you are
not a CS major, you will need to visit the systems programmers in room 2254
TMCB. 
<H2>Course Philosophy</H2>
The goal of this course is not so much the content as learning how to learn
new systems in graphical user interfaces. Because of this we will only spend
a limited amount of time on Visual C++. Students will be taught general
concepts and then introduced to the way in which MS Windows implements those
concepts. It will be up to the student (with some help from the TA) to find
out the details necessary to complete the programming assignments.<BR>
<BR>
Because of this goal of teaching how to learn, there will not be as much
lecture as in most CS classes. For each class period there will be reading
assignments and problems which must be completed before class. Most of the
class period will consist of presentation and discussion from students chosen
randomly from the class. This participation will be graded, as discussed
below. 
<H2>Grading</H2>
<UL>
<LI>Exams 40% 
  <UL>
  <LI>2 Tests 10% each 
  <LI>Final exam 20% (half of this exam will cover the last third of the
course and half will be comprehensive) 
  </UL>
<LI>Programs 40% (there will be 5 large programs, each reuses pieces from
previous programs) 
<LI>Class Participation 20% 
  <UL>
  <LI>Students will be regularly asked to present or discuss reading materials
in class. Grading will be on whether or not you have prepared and thought
carefully about the material. Grading is based on prepared or unprepared,
not right or wrong. <B>Missunderstandings of the material can be corrected
by class discussions and will not be counted against you.</B> 
  </UL>
</UL>
<H2>Course Calander</H2>
Please note that there are some Friday classes and some normally scheduled
times when no class will be held. This is necessary so that I can accomodate
my travel schedule while still providing you with a full semester of instruction.
Friday classes will be offered at the same time, at a place to be announced.
<UL>
<LI>Jan 8 - Class introduction 
<LI>Jan 10 - <!WA6><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9231992">Chapter 1 - Introduction</A>
<LI><B>Jan 12 - </B>extra friday class - <!WA7><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9232237">Chapter
2- Functional Model</A>- (prog 1 -<!WA8><A HREF="http://issl.cs.byu.edu/docs/CS456/Program1.html"> Simple display</A>)
<LI><I>Jan 15</I> - Holiday (no class) 
<LI>Jan 17 - <!WA9><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9232550">Chapter 2 - Functional
Model</A> 
<LI><I>Jan 22</I> - no class - <I>instructor out of town</I> 
<LI>Jan 24 - <!WA10><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9233547">Chapter 3 - Basic Computer
Graphics</A> 
<LI><B>Jan 26 </B>- extra friday class - <!WA11><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9233888">VisC++
- Chapter 11 - Graphics</A> 
<LI>Jan 29 - <!WA12><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9234388">Chapter 4 - Events</A>
(program 1 due) - <!WA13><A HREF="http://issl.cs.byu.edu/docs/CS456/Program2.html">(prog 2 - drawing)</A> 
<LI><I>Jan 31</I> - no class - <I>instructor out of town</I> 
<LI>Feb 5 - <!WA14><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9234572">VisC++ - Chapter 4 -
Handling Events</A> 
<LI>Feb 7 - <B>Exam review</B> 
<LI>Feb 12 - <B>Exam</B> 
<LI>Feb 14 - <!WA15><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9234747">Chapter 5 - Basic Interaction</A>
<LI><I>Feb 19</I><B> </B>- Holiday<B> 
<LI>Feb 20 </B>- Special class - <!WA16><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9234933">Chapter
5 - Basic Interaction</A> - (Prog 2 due) - <!WA17><A HREF="http://issl.cs.byu.edu/docs/CS456/Program3.html">(Prog
3 - interaction)</A> 
<LI>Feb 21 - <!WA18><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9235110">Chapter 6 - Widget Tool
kits</A> 
<LI>Feb 26 - <!WA19><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9235305">VisC++ - Chapters 5
- 8 - Widgets</A> 
<LI>Feb 28 - <!WA20><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9235573">VisC++ - Chapter 15
- Multiple Views</A> 
<LI>Mar 4 - <!WA21><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9235774">Chapter 8 - Input Syntax</A>
<LI>Mar 6 - <!WA22><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9235958">Chapter 8 - Input Syntax</A>
<LI>Mar 11 - <B>Exam Review</B> 
<LI>Mar 13 - <B>Exam </B><I>instructor out of town</I> 
<LI>Mar 18 - <!WA23><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9236136">Chapter 9 - Geometry</A>
<LI>Mar 20 - <!WA24><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9236545">Chapter 10 - Geometric
transformations</A>- <!WA25><A HREF="http://issl.cs.byu.edu/docs/CS456/Program4.html">(prog 4 - multi-view drawing
with transformations)</A> 
<LI>Mar 25 - <!WA26><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9236545">Chapter 11 - Interacting
with geometry</A> - (Program 3 due) 
<LI>Mar 27 - <!WA27><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9236779">Chapter 12 - Drawing
architectures</A> - 
<LI><B>Mar 29</B> - Special Friday Class - <!WA28><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9236983">Chapter
12 - Drawing architectures</A> 
<LI>Apr 1 - <!WA29><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9237477">Chapter 13 - Cut, Copy,
Paste</A> 
<LI>Apr 3 - <!WA30><A HREF="http://issl.cs.byu.edu/docs/CS456/ClassPrep.html#anchor9237271">Chapter 14 - Undo / Redo</A>
<LI><B>Apr 5</B> - Special Friday Class - <B>Review for Final Exam 
<LI></B>Apr 8 - <B>No Class 
<LI></B>Apr 10 - <B>No Class</B> 
<LI>Apr 15 - <B>No Class </B>- (<B>ALL PROGRAMS DUE - NO LATE AFTER THIS</B>)<B>
<LI>Apr 23 - Final Exam 7:00-10:00</B> 
</UL>
</BODY>
</HTML>
